A touch screen or touch sensing screen is a display which can detect a touch on the surface of a display screen. The touch screen may have a set of buttons (e.g., texts, icons, avatars, etc.) displayed, and a software function may be initiated when one of the buttons is pressed. Many of today's touch screens use capacitance sensing and resistance sensing to identify a button touch.
A capacitive touch screen conducts a continuous electrical current across its sensors, which may be conductive nodes forming one or more buttons. When a button is activated with a finger, a capacitance is formed between the finger covering the button and the button itself. When the normal capacitance field of the conductive node is altered by the contact to the button, an electronic circuit is used to process and identify the activated button by measuring a change in its capacitance.
When the touch button based capacitance sensing system is used, a large number of buttons may be implemented as a matrix where each button is identified by the row and column of the button. For example, an M×M array of buttons on the touch screen can be implemented by electrically connecting each row and column of the array to an input/output (I/O) pin of a processor (e.g. of a programmable device). The touch screen periodically scans its rows and columns and identifies an activated button by reading a change in the capacitance associated with the button. Thus, when a button in the first row (e.g., which is coupled to I/O pin #1) and the second column (e.g., which is coupled to I/O pin #8) is pressed in a 6×6 array of buttons, the activated button can be identified when capacitance changes are detected in the I/O pin #1 and the I/O pin #8, respectively. During the operation of the system, the I/O pins of the processor are continually scanned for any capacitance changes, and the touch to the button is identified when there are readouts for I/O pins which correspond to the row and the column associated with the button.
However, to implement the readout scheme for the M×M array, the system uses 2×M number of I/O pins which traverse the surface and are coupled to M columns and M rows, respectively. As applications like PDAs, cell phones, remote controls and/or other devices have buttons ranging from 20 to 40 (e.g., to implement a keyboard, etc.), they consume a very large number of I/O pins. In general, as the number of I/O pins specified increases, so does the real estate of the chip and the cost of the electronics.